import 'package:flutter/material.dart';
import 'lib/app/widgets/markdown_preview_widget.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '分数字体大小修复测试',
      home: TestScreen(),
    );
  }
}

class TestScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('分数字体大小修复测试'),
      ),
      body: SingleChildScrollView(
        padding: EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(
              '测试分数字体大小是否与普通文本一致：',
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 20),
            
            _buildTestCase('基础测试 - 字体大小16', '''
这是普通文本，字体大小为16。
这里有一个分数：(1/2)，应该与普通文本大小一致。
这是更多普通文本。
            ''', 16.0),
            
            _buildTestCase('缩放测试 - 字体大小20', '''
这是普通文本，字体大小为20。
这里有一个分数：(增长量/基期量)，应该与普通文本大小一致。
这是更多普通文本。
            ''', 20.0),
            
            _buildTestCase('实际案例测试', '''
## 基期量计算公式
1. 基期量 = 现期量÷(1 + r)即((现期量)/(1 + r))
2. 基期量 = 增长量÷r（即（增长量）/r）

## 增长率公式
增长率 = ((现期量 - 基期量)/基期量) × 100%
            ''', 16.0),
           
           _buildTestCase('混合内容测试', '''
# 资料分析公式
这是一段包含**粗体**和*斜体*的文本。

分数公式：
- 基期量 = (现期量)/(1 + 增长率)
- 增长率 = (增长量)/(基期量)

普通文本应该与分数文本大小一致。
            ''', 16.0),
          ],
        ),
      ),
    );
  }

  Widget _buildTestCase(String title, String content, double fontSize) {
    return Container(
      margin: EdgeInsets.only(bottom: 20),
      padding: EdgeInsets.all(12),
      decoration: BoxDecoration(
        border: Border.all(color: Colors.grey.shade300),
        borderRadius: BorderRadius.circular(8),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Text(
            title,
            style: TextStyle(
              fontSize: 16,
              fontWeight: FontWeight.bold,
              color: Colors.blue,
            ),
          ),
          SizedBox(height: 8),
          MarkdownPreviewWidget(
            content: content,
            style: TextStyle(fontSize: fontSize, fontFamily: 'FangSong'),
            textScaleFactor: 1.0,
          ),
        ],
      ),
    );
  }
}